package com.chs.recoginition.core.exception.constant;


import com.chs.recoginition.core.exception.ApplicationExceptionMessage;
import lombok.Getter;

/**
 * 异常枚举
 * 000000 ~ 009999 基础异常
 * 010000 ~ 019999 系统异常
 */
@Getter
public enum ExceptionConstant implements ApplicationExceptionMessage {
    /**
     * 成功
     */
    SUCCESS("000000", "成功"),
    /**
     * 未授权
     */
    UNAUTHORIZED("000001", "未授权"),
    /**
     * 复制属性失败
     */
    COPY_PROPERTIES_FAIL("000002", "复制属性失败"),
    /**
     * API不存在
     */
    API_NOT_EXISTS("000003", "API不存在"),
    /**
     * API访问受限
     */
    API_FORBIDDEN("000004", "API访问受限"),
    /**
     * 参数不能为空
     */
    PARAM_NOT_NULL("000005", "参数不能为空"),
    /**
     * 字符串格式化失败
     */
    STR_FORMAT_FAIL("000006", "字符串格式化失败"),
    /**
     * 非法参数
     */
    ILLEGAL_PARAM("000007", "非法参数"),
    /**
     * 没有权限
     */
    BEYOND_THE_PERMISSIONS("000008", "没有权限"),
    /**
     * token不能刷新
     */
    TOKEN_CANNOT_REFRESH("000009", "token不能刷新"),
    /**
     * 用户名或密码错误
     */
    USERNAME_OR_PASSWORD_ERR("000010", "用户名或密码错误"),
    /**
     * 非法请求地址
     */
    ILLEGALITY_REQUEST_URI("000011", "非法请求地址"),
    /**
     * 不能查看保存数据
     */
    CONNOT_INFOR_SAVED_DATA("000012", "不能查看保存数据"),
    /**
     * 用户Id不存在
     */
    USER_ID_NOT_EXISTS("000013", "用户Id不存在"),
    /**
     * 登录功能已禁用
     */
    LOGIN_DISABLED("000014", "登录功能已禁用"),
    /**
     * JSON格式化失败
     */
    JSON_FORMAT_FAIL("000015", "JSON格式化失败"),
    /**
     * 新增失败
     */
    INSERT_FAIL("000016", "新增失败"),
    /**
     * 更新失败
     */
    UPDATE_FAIL("000017", "更新失败"),
    /**
     * 删除失败
     */
    DELETE_FAIL("000018", "删除失败"),
    /**
     * 保存失败
     */
    SAVE_FAIL("000019", "保存失败"),
    /**
     * 实体信息不存在
     */
    ENTITY_NOT_EXISTS("000020", "实体信息不存在"),

    /**
     * 金币不足
     */
    INSUFFICIENT_GOLD_COINS("000021", "金币不足"),

    /**
     * 该账号已存在,请换个账号
     */
    ACCOUNT_NUMBER_ALREADY_EXISTS("200060", "该账号已存在,请换个账号"),

    /**
     * 该版本应用不存在
     */
    ANDROID_APP_NOT_EXISTS_ERROR("200061", "该版本应用不存在"),

    /**
     * 该名称已存在,请换个名称
     */
    NAME_NUMBER_ALREADY_EXISTS("200062", "该名称已存在,请换个名称"),

    /**
     * 该关卡编号已存在,请换个编号
     */
    CODE_LEVEL_ALREADY_EXISTS("200063", "该关卡编号已存在,请换个编号"),
    /**
     * 该用户账号已存在，请更换账号
     */
    USER_EXISTS("200011", "该用户账号已存在，请更换账号"),
    /**
     * 系统错误
     */
    ERROR("999999", "系统错误"),

    ;

    String errorCode;
    String errorMessage;

    ExceptionConstant(String errorCode, String errorMessage) {
        this.errorCode = errorCode;
        this.errorMessage = errorMessage;
    }

}
